home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / drivers / taitosj.c < prev    next >
C/C++ Source or Header  |  2000-04-04  |  99KB  |  2,360 lines

  1. /***************************************************************************
  2.  
  3. Taito SJ system memory map
  4.  
  5. MAIN CPU:
  6.  
  7. 0000-7fff ROM (6000-7fff banked in two banks, controlled by bit 7 of d50e)
  8. 8000-87ff RAM
  9. 9000-bfff Character generator RAM
  10. c400-c7ff Video RAM: front playfield
  11. c800-cbff Video RAM: middle playfield
  12. cc00-cfff Video RAM: back playfield
  13. d100-d17f Sprites (d140-d15f are NOT sprites)
  14. d200-d27f Palette (64 pairs: xxxxxxxR RRGGGBBB. bits are inverted, i.e. 0x01ff = black)
  15. e000-efff ROM (on the protection board with the 68705)
  16.  
  17. read:
  18.  
  19. 8800      68705 data read
  20. 8801      68705 status read
  21.             bit 0 = the 68705 has read data from the Z80
  22.             bit 1 = the 68705 has written data for the Z80
  23. d400-d403 hardware collision detection registers
  24.           d400 bit0-7 = sprite 0x00-0x07 collided
  25.           d401 bit0-7 = sprite 0x08-0x0f collided
  26.           d402 bit0-7 = sprite 0x18-0x1f collided
  27.           d403 bit0 = obj/pf1
  28.                bit1 = obj/pf2
  29.                bit2 = obj/pf3
  30.                bit3 = pf1/pf2
  31.                bit4 = pf1/pf3
  32.                bit5 = pf2/pf3
  33.                bit6 = nc
  34.                bit7 = nc
  35. d404      returns contents of graphic ROM, pointed by d509-d50a
  36. d408      IN0
  37. d409      IN1
  38. d40a      DSW1
  39. d40b      IN2 - can come from a ROM or PAL chip
  40. d40c      COIN
  41. d40d      another input port (used for player 2 dial)
  42. d40f      8910 #0 read
  43.             port A DSW2
  44.             port B DSW3
  45.  
  46. write
  47. 8800      68705 data write
  48. d000-d01f front playfield column scroll
  49. d020-d03f middle playfield column scroll
  50. d040-d05f back playfield column scroll
  51. d300      playfield priority control
  52.           bits 0-3 go to A4-A7 of a 256x4 PROM
  53.           bit 4 selects D0/D1 or D2/D3 of the PROM
  54.           bit 5-7 n.c.
  55.           A0-A3 of the PROM is fed with a mask of the inactive planes
  56.             (i.e. all-zero) in the order sprites-front-middle-back
  57.           the 2-bit code which comes out from the PROM selects the plane
  58.           to display.
  59. d40e      8910 #0 control
  60. d40f      8910 #0 write
  61. d500      front playfield horizontal scroll
  62. d501      front playfield vertical scroll
  63. d502      middle playfield horizontal scroll
  64. d503      middle playfield vertical scroll
  65. d504      back playfield horizontal scroll
  66. d505      back playfield vertical scroll
  67. d506      bits 0-2 = front playfield color code
  68.           bit 3 = front playfield character bank
  69.           bits 4-6 = middle playfield color code
  70.           bit 7 = middle playfield character bank
  71. d507      bits 0-2 = back playfield color code
  72.           bit 3 = back playfield character bank
  73.           bits 4-5 = sprite color bank (1 bank = 2 color codes)
  74. d508      clear hardware collision detection registers
  75. d509-d50a pointer to graphic ROM to read from d404
  76. d50b      command for the audio CPU
  77. d50d      watchdog reset
  78. d50e      bit 7 = ROM bank selector
  79.           bit 0-4 = protection write (Alpine Ski); result is read from d40b bits 0-3
  80. d50f      can go to a ROM or PAL; the result is read from d40b
  81.           ==> used in Alpine Ski (Set 1) for protection
  82. d600      bit 0 horizontal screen flip
  83.           bit 1 vertical screen flip
  84.           bit 2 ? sprite related, called OBJEX. It looks like there are 256
  85.                   bytes of sprite RAM, but only 128 can be acessed by the video
  86.                   hardware at a time. This select the high or low bank. The CPU
  87.                   can access all the memory linearly. I don't know if this is
  88.                   ever used.
  89.           bit 3 n.c.
  90.           bit 4 front playfield enable
  91.           bit 5 middle playfield enable
  92.           bit 6 back playfield enable
  93.           bit 7 sprites enable
  94.  
  95.  
  96. SOUND CPU:
  97. 0000-3fff ROM (none of the games have this fully populated)
  98. 4000-43ff RAM
  99. e000-efff space for diagnostics ROM?
  100.  
  101. read:
  102. 5000      command from CPU board
  103. 8101      ?
  104.  
  105. write:
  106. 4800      8910 #1  control
  107. 4801      8910 #1  write
  108.             PORT A  digital sound out
  109. 4802      8910 #2  control
  110. 4803      8910 #2  write
  111. 4804      8910 #3  control
  112. 4805      8910 #3  write
  113.             port B bit 0 SOUND CPU NMI disable
  114.  
  115. ***************************************************************************/
  116.  
  117. #include "driver.h"
  118. #include "vidhrdw/generic.h"
  119. #include "cpu/z80/z80.h"
  120.  
  121.  
  122.  
  123. void taitosj_init_machine(void);
  124. WRITE_HANDLER( taitosj_bankswitch_w );
  125. READ_HANDLER( taitosj_fake_data_r );
  126. READ_HANDLER( taitosj_fake_status_r );
  127. WRITE_HANDLER( taitosj_fake_data_w );
  128. READ_HANDLER( taitosj_mcu_data_r );
  129. READ_HANDLER( taitosj_mcu_status_r );
  130. WRITE_HANDLER( taitosj_mcu_data_w );
  131. READ_HANDLER( taitosj_68705_portA_r );
  132. READ_HANDLER( taitosj_68705_portB_r );
  133. READ_HANDLER( taitosj_68705_portC_r );
  134. WRITE_HANDLER( taitosj_68705_portA_w );
  135. WRITE_HANDLER( taitosj_68705_portB_w );
  136.  
  137. WRITE_HANDLER( alpine_protection_w );
  138. WRITE_HANDLER( alpinea_bankswitch_w );
  139. READ_HANDLER( alpine_port_2_r );
  140.  
  141. extern unsigned char *taitosj_videoram2,*taitosj_videoram3;
  142. extern unsigned char *taitosj_characterram;
  143. extern unsigned char *taitosj_scroll;
  144. extern unsigned char *taitosj_colscrolly;
  145. extern unsigned char *taitosj_gfxpointer;
  146. extern unsigned char *taitosj_colorbank,*taitosj_video_priority;
  147. void taitosj_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
  148. READ_HANDLER( taitosj_gfxrom_r );
  149. WRITE_HANDLER( taitosj_videoram2_w );
  150. WRITE_HANDLER( taitosj_videoram3_w );
  151. WRITE_HANDLER( taitosj_paletteram_w );
  152. WRITE_HANDLER( taitosj_colorbank_w );
  153. WRITE_HANDLER( taitosj_videoenable_w );
  154. WRITE_HANDLER( taitosj_characterram_w );
  155. READ_HANDLER( taitosj_collision_reg_r );
  156. WRITE_HANDLER( taitosj_collision_reg_clear_w );
  157. int taitosj_vh_start(void);
  158. void taitosj_vh_stop(void);
  159. void taitosj_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  160.  
  161.  
  162. static int sndnmi_disable = 1;
  163.  
  164. static WRITE_HANDLER( taitosj_sndnmi_msk_w )
  165. {
  166.     sndnmi_disable = data & 0x01;
  167. }
  168.  
  169. static WRITE_HANDLER( taitosj_soundcommand_w )
  170. {
  171.     soundlatch_w(offset,data);
  172.     if (!sndnmi_disable) cpu_cause_interrupt(1,Z80_NMI_INT);
  173. }
  174.  
  175.  
  176. static struct MemoryReadAddress readmem[] =
  177. {
  178.     { 0x0000, 0x5fff, MRA_ROM },
  179.     { 0x6000, 0x7fff, MRA_BANK1 },
  180.     { 0x8000, 0x87ff, MRA_RAM },
  181.     { 0x8800, 0x8800, taitosj_fake_data_r },
  182.     { 0x8801, 0x8801, taitosj_fake_status_r },
  183.     { 0xc400, 0xd015, MRA_RAM },
  184.     { 0xd100, 0xd17f, MRA_RAM },
  185.     { 0xd400, 0xd403, taitosj_collision_reg_r },
  186.     { 0xd404, 0xd404, taitosj_gfxrom_r },
  187.     { 0xd408, 0xd408, input_port_0_r },    /* IN0 */
  188.     { 0xd409, 0xd409, input_port_1_r },    /* IN1 */
  189.     { 0xd40a, 0xd40a, input_port_5_r },    /* DSW1 */
  190.     { 0xd40b, 0xd40b, input_port_2_r },    /* IN2 */
  191.     { 0xd40c, 0xd40c, input_port_3_r },    /* Service */
  192.     { 0xd40d, 0xd40d, input_port_4_r },
  193.     { 0xd40f, 0xd40f, AY8910_read_port_0_r },    /* DSW2 and DSW3 */
  194.     { 0xe000, 0xefff, MRA_ROM },
  195.     { -1 }    /* end of table */
  196. };
  197.  
  198. static struct MemoryWriteAddress writemem[] =
  199. {
  200.     { 0x0000, 0x7fff, MWA_ROM },
  201.     { 0x8000, 0x87ff, MWA_RAM },
  202.     { 0x8800, 0x8800, taitosj_fake_data_w },
  203.     { 0x9000, 0xbfff, taitosj_characterram_w, &taitosj_characterram },
  204.     { 0xc400, 0xc7ff, videoram_w, &videoram, &videoram_size },
  205.     { 0xc800, 0xcbff, taitosj_videoram2_w, &taitosj_videoram2 },
  206.     { 0xcc00, 0xcfff, taitosj_videoram3_w, &taitosj_videoram3 },
  207.     { 0xd000, 0xd05f, MWA_RAM, &taitosj_colscrolly },
  208.     { 0xd100, 0xd17f, MWA_RAM, &spriteram, &spriteram_size },
  209.     { 0xd200, 0xd27f, taitosj_paletteram_w, &paletteram },
  210.     { 0xd300, 0xd300, MWA_RAM, &taitosj_video_priority },
  211.     { 0xd40e, 0xd40e, AY8910_control_port_0_w },
  212.     { 0xd40f, 0xd40f, AY8910_write_port_0_w },
  213.     { 0xd500, 0xd505, MWA_RAM, &taitosj_scroll },
  214.     { 0xd506, 0xd507, taitosj_colorbank_w, &taitosj_colorbank },
  215.     { 0xd508, 0xd508, taitosj_collision_reg_clear_w },
  216.     { 0xd509, 0xd50a, MWA_RAM, &taitosj_gfxpointer },
  217.     { 0xd50b, 0xd50b, taitosj_soundcommand_w },
  218.     { 0xd50d, 0xd50d, MWA_RAM, /*watchdog_reset_w*/ },  /* Bio Attack reset sometimes after you die */
  219.     { 0xd50e, 0xd50e, taitosj_bankswitch_w },
  220.     { 0xd50f, 0xd50f, MWA_NOP },
  221.     { 0xd600, 0xd600, taitosj_videoenable_w },
  222.     { 0xe000, 0xefff, MWA_ROM },
  223.     { -1 }    /* end of table */
  224. };
  225.  
  226. /* only difference is taitosj_fake_ replaced with taitosj_mcu_ */
  227. static struct MemoryReadAddress mcu_readmem[] =
  228. {
  229.     { 0x0000, 0x5fff, MRA_ROM },
  230.     { 0x6000, 0x7fff, MRA_BANK1 },
  231.     { 0x8000, 0x87ff, MRA_RAM },
  232.     { 0x8800, 0x8800, taitosj_mcu_data_r },
  233.     { 0x8801, 0x8801, taitosj_mcu_status_r },
  234.     { 0xc400, 0xd05f, MRA_RAM },
  235.     { 0xd100, 0xd17f, MRA_RAM },
  236.     { 0xd400, 0xd403, taitosj_collision_reg_r },
  237.     { 0xd404, 0xd404, taitosj_gfxrom_r },
  238.     { 0xd408, 0xd408, input_port_0_r },    /* IN0 */
  239.     { 0xd409, 0xd409, input_port_1_r },    /* IN1 */
  240.     { 0xd40a, 0xd40a, input_port_5_r },    /* DSW1 */
  241.     { 0xd40b, 0xd40b, input_port_2_r },    /* IN2 */
  242.     { 0xd40c, 0xd40c, input_port_3_r },    /* Service */
  243.     { 0xd40d, 0xd40d, input_port_4_r },
  244.     { 0xd40f, 0xd40f, AY8910_read_port_0_r },    /* DSW2 and DSW3 */
  245.     { 0xe000, 0xefff, MRA_ROM },
  246.     { -1 }    /* end of table */
  247. };
  248.  
  249. static struct MemoryWriteAddress mcu_writemem[] =
  250. {
  251.     { 0x0000, 0x7fff, MWA_ROM },
  252.     { 0x8000, 0x87ff, MWA_RAM },
  253.     { 0x8800, 0x8800, taitosj_mcu_data_w },
  254.     { 0x9000, 0xbfff, taitosj_characterram_w, &taitosj_characterram },
  255.     { 0xc400, 0xc7ff, videoram_w, &videoram, &videoram_size },
  256.     { 0xc800, 0xcbff, taitosj_videoram2_w, &taitosj_videoram2 },
  257.     { 0xcc00, 0xcfff, taitosj_videoram3_w, &taitosj_videoram3 },
  258.     { 0xd000, 0xd05f, MWA_RAM, &taitosj_colscrolly },
  259.     { 0xd100, 0xd17f, MWA_RAM, &spriteram, &spriteram_size },
  260.     { 0xd200, 0xd27f, taitosj_paletteram_w, &paletteram },
  261.     { 0xd300, 0xd300, MWA_RAM, &taitosj_video_priority },
  262.     { 0xd40e, 0xd40e, AY8910_control_port_0_w },
  263.     { 0xd40f, 0xd40f, AY8910_write_port_0_w },
  264.     { 0xd500, 0xd505, MWA_RAM, &taitosj_scroll },
  265.     { 0xd506, 0xd507, taitosj_colorbank_w, &taitosj_colorbank },
  266.     { 0xd508, 0xd508, taitosj_collision_reg_clear_w },
  267.     { 0xd509, 0xd50a, MWA_RAM, &taitosj_gfxpointer },
  268.     { 0xd50b, 0xd50b, taitosj_soundcommand_w },
  269.     { 0xd50d, 0xd50d, watchdog_reset_w },
  270.     { 0xd50e, 0xd50e, taitosj_bankswitch_w },
  271.     { 0xd600, 0xd600, taitosj_videoenable_w },
  272.     { 0xe000, 0xefff, MWA_ROM },
  273.     { -1 }    /* end of table */
  274. };
  275.  
  276.  
  277.  
  278. static struct MemoryReadAddress sound_readmem[] =
  279. {
  280.     { 0x0000, 0x3fff, MRA_ROM },
  281.     { 0x4000, 0x43ff, MRA_RAM },
  282.     { 0x4801, 0x4801, AY8910_read_port_1_r },
  283.     { 0x4803, 0x4803, AY8910_read_port_2_r },
  284.     { 0x4805, 0x4805, AY8910_read_port_3_r },
  285.     { 0x5000, 0x5000, soundlatch_r },
  286.     { 0xe000, 0xefff, MRA_ROM },
  287.     { -1 }    /* end of table */
  288. };
  289.  
  290. static struct MemoryWriteAddress sound_writemem[] =
  291. {
  292.     { 0x0000, 0x3fff, MWA_ROM },
  293.     { 0x4000, 0x43ff, MWA_RAM },
  294.     { 0x4800, 0x4800, AY8910_control_port_1_w },
  295.     { 0x4801, 0x4801, AY8910_write_port_1_w },
  296.     { 0x4802, 0x4802, AY8910_control_port_2_w },
  297.     { 0x4803, 0x4803, AY8910_write_port_2_w },
  298.     { 0x4804, 0x4804, AY8910_control_port_3_w },
  299.     { 0x4805, 0x4805, AY8910_write_port_3_w },
  300.     { -1 }    /* end of table */
  301. };
  302.  
  303.  
  304. static struct MemoryReadAddress m68705_readmem[] =
  305. {
  306.     { 0x0000, 0x0000, taitosj_68705_portA_r },
  307.     { 0x0001, 0x0001, taitosj_68705_portB_r },
  308.     { 0x0002, 0x0002, taitosj_68705_portC_r },
  309.     { 0x0003, 0x007f, MRA_RAM },
  310.     { 0x0080, 0x07ff, MRA_ROM },
  311.     { -1 }    /* end of table */
  312. };
  313.  
  314. static struct MemoryWriteAddress m68705_writemem[] =
  315. {
  316.     { 0x0000, 0x0000, taitosj_68705_portA_w },
  317.     { 0x0001, 0x0001, taitosj_68705_portB_w },
  318.     { 0x0003, 0x007f, MWA_RAM },
  319.     { 0x0080, 0x07ff, MWA_ROM },
  320.     { -1 }    /* end of table */
  321. };
  322.  
  323.  
  324.  
  325. #define DSW2_PORT \
  326.     PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) ) \
  327.     PORT_DIPSETTING(    0x0f, DEF_STR( 9C_1C ) ) \
  328.     PORT_DIPSETTING(    0x0e, DEF_STR( 8C_1C ) ) \
  329.     PORT_DIPSETTING(    0x0d, DEF_STR( 7C_1C ) ) \
  330.     PORT_DIPSETTING(    0x0c, DEF_STR( 6C_1C ) ) \
  331.     PORT_DIPSETTING(    0x0b, DEF_STR( 5C_1C ) ) \
  332.     PORT_DIPSETTING(    0x0a, DEF_STR( 4C_1C ) ) \
  333.     PORT_DIPSETTING(    0x09, DEF_STR( 3C_1C ) ) \
  334.     PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) ) \
  335.     PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) ) \
  336.     PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) ) \
  337.     PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) ) \
  338.     PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) ) \
  339.     PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) ) \
  340.     PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) ) \
  341.     PORT_DIPSETTING(    0x06, DEF_STR( 1C_7C ) ) \
  342.     PORT_DIPSETTING(    0x07, DEF_STR( 1C_8C ) ) \
  343.     PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_B ) ) \
  344.     PORT_DIPSETTING(    0xf0, DEF_STR( 9C_1C ) ) \
  345.     PORT_DIPSETTING(    0xe0, DEF_STR( 8C_1C ) ) \
  346.     PORT_DIPSETTING(    0xd0, DEF_STR( 7C_1C ) ) \
  347.     PORT_DIPSETTING(    0xc0, DEF_STR( 6C_1C ) ) \
  348.     PORT_DIPSETTING(    0xb0, DEF_STR( 5C_1C ) ) \
  349.     PORT_DIPSETTING(    0xa0, DEF_STR( 4C_1C ) ) \
  350.     PORT_DIPSETTING(    0x90, DEF_STR( 3C_1C ) ) \
  351.     PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) ) \
  352.     PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) ) \
  353.     PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) ) \
  354.     PORT_DIPSETTING(    0x20, DEF_STR( 1C_3C ) ) \
  355.     PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) ) \
  356.     PORT_DIPSETTING(    0x40, DEF_STR( 1C_5C ) ) \
  357.     PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) ) \
  358.     PORT_DIPSETTING(    0x60, DEF_STR( 1C_7C ) ) \
  359.     PORT_DIPSETTING(    0x70, DEF_STR( 1C_8C ) )
  360.  
  361.  
  362. INPUT_PORTS_START( spaceskr )
  363.     PORT_START      /* IN0 */
  364.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
  365.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  366.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
  367.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
  368.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  369.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  370.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  371.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  372.  
  373.     PORT_START      /* IN1 */
  374.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
  375.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  376.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  377.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  378.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  379.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  380.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  381.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  382.  
  383.     PORT_START      /* IN2 */
  384.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  385.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  386.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  387.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  388.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  389.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  390.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  391.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  392.  
  393.     PORT_START      /* Service */
  394.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  395.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  396.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  397.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  398.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  399.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  400.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  401.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  402.  
  403.     PORT_START
  404.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  405.  
  406.     PORT_START      /* DSW1 */
  407.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  408.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  409.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  410.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  411.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  412.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  413.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  414.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  415.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  416.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  417.     PORT_DIPSETTING(    0x00, "3" )
  418.     PORT_DIPSETTING(    0x08, "4" )
  419.     PORT_DIPSETTING(    0x10, "5" )
  420.     PORT_DIPSETTING(    0x18, "6" )
  421.     PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
  422.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  423.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  424.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  425.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  426.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  427.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  428.  
  429.     PORT_START      /* DSW2 Coinage */
  430.     DSW2_PORT
  431.  
  432.     PORT_START      /* DSW3 */
  433.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  434.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  435.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  436.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  437.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  438.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  439.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  440.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  441.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  442.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  443.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  444.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  445.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  446.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  447.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  448.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  449.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  450.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  451.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  452.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  453.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  454.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  455.     PORT_DIPSETTING(    0x80, "A and B" )
  456.     PORT_DIPSETTING(    0x00, "A only" )
  457. INPUT_PORTS_END
  458.  
  459. INPUT_PORTS_START( junglek )
  460.     PORT_START      /* IN0 */
  461.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
  462.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  463.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
  464.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
  465.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  466.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  467.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  468.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  469.  
  470.     PORT_START      /* IN1 */
  471.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
  472.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  473.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  474.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  475.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  476.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  477.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  478.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  479.  
  480.     PORT_START      /* IN2 */
  481.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  482.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  483.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  484.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  485.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  486.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  487.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  488.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  489.  
  490.     PORT_START      /* Service */
  491.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  492.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  493.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  494.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  495.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  496.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  497.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  498.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  499.  
  500.     PORT_START
  501.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  502.  
  503.     PORT_START      /* DSW1 */
  504.     PORT_DIPNAME( 0x03, 0x03, "Finish Bonus" )
  505.     PORT_DIPSETTING(    0x03, "None" )
  506.     PORT_DIPSETTING(    0x02, "Timer x1" )
  507.     PORT_DIPSETTING(    0x01, "Timer x2" )
  508.     PORT_DIPSETTING(    0x00, "Timer x3" )
  509.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  510.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  511.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  512.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  513.     PORT_DIPSETTING(    0x18, "3" )
  514.     PORT_DIPSETTING(    0x10, "4" )
  515.     PORT_DIPSETTING(    0x08, "5" )
  516.     PORT_DIPSETTING(    0x00, "6" )
  517.     PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
  518.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  519.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  520.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  521.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  522.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  523.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  524.  
  525.     PORT_START      /* DSW2 Coinage */
  526.     DSW2_PORT
  527.  
  528.     PORT_START      /* DSW3 */
  529.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
  530.     PORT_DIPSETTING(    0x02, "10000" )
  531.     PORT_DIPSETTING(    0x01, "20000" )
  532.     PORT_DIPSETTING(    0x00, "30000" )
  533.     PORT_DIPSETTING(    0x03, "None" )
  534.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  535.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  536.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  537.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  538.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  539.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  540.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  541.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  542.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  543.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  544.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  545.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  546.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  547.     PORT_DIPSETTING(    0x40, DEF_STR( No ) )
  548.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  549.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  550.     PORT_DIPSETTING(    0x80, "A and B" )
  551.     PORT_DIPSETTING(    0x00, "A only" )
  552. INPUT_PORTS_END
  553.  
  554. INPUT_PORTS_START( alpine )
  555.     PORT_START      /* IN0 */
  556.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_COCKTAIL )
  557.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
  558.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  559.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  560.     PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL, "2 Fast", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  561.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  562.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  563.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  564.  
  565.     PORT_START      /* IN1 */
  566.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
  567.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  568.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  569.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  570.     PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON1, "Fast", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  571.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  572.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  573.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  574.  
  575.     PORT_START      /* IN2 */
  576.     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
  577.     PORT_BIT( 0x1e, 0x00, IPT_UNUSED )                /* protection read */
  578.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
  579.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  580.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  581.  
  582.     PORT_START      /* Service */
  583.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  584.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  585.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  586.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  587.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
  588.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )        /* flips screen */
  589.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  590.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  591.  
  592.     PORT_START
  593.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  594.  
  595.     PORT_START      /* DSW1 */
  596.     PORT_DIPNAME( 0x03, 0x03, "Jump Bonus" )
  597.     PORT_DIPSETTING(    0x00, "500-1500" )
  598.     PORT_DIPSETTING(    0x01, "800-2000" )
  599.     PORT_DIPSETTING(    0x02, "1000-2500" )
  600.     PORT_DIPSETTING(    0x03, "2000-4000" )
  601.     PORT_BIT(             0x04, IP_ACTIVE_LOW, IPT_UNUSED )
  602.     PORT_DIPNAME( 0x18, 0x18, "Time" )
  603.     PORT_DIPSETTING(    0x00, "1:00" )
  604.     PORT_DIPSETTING(    0x08, "1:30" )
  605.     PORT_DIPSETTING(    0x10, "2:00" )
  606.     PORT_DIPSETTING(    0x18, "2:30" )
  607.     PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
  608.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  609.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  610.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  611.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  612.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  613.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
  614.     PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
  615.     PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
  616.  
  617.     PORT_START      /* DSW2 Coinage */
  618.     DSW2_PORT
  619.  
  620.     PORT_START      /* DSW3 */
  621.     PORT_DIPNAME( 0x03, 0x03, "1st Extended Time" )
  622.     PORT_DIPSETTING(    0x00, "10k" )
  623.     PORT_DIPSETTING(    0x01, "15k" )
  624.     PORT_DIPSETTING(    0x02, "20k" )
  625.     PORT_DIPSETTING(    0x03, "25k" )
  626.     PORT_DIPNAME( 0x1c, 0x1c, "Extended Time Every" )
  627.     PORT_DIPSETTING(    0x00, "5k" )
  628.     PORT_DIPSETTING(    0x04, "6k" )
  629.     PORT_DIPSETTING(    0x08, "7k" )
  630.     PORT_DIPSETTING(    0x0c, "8k" )
  631.     PORT_DIPSETTING(    0x10, "9k" )
  632.     PORT_DIPSETTING(    0x14, "10k" )
  633.     PORT_DIPSETTING(    0x18, "11k" )
  634.     PORT_DIPSETTING(    0x1c, "12k" )
  635.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  636.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  637.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  638.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  639.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  640.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  641.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  642.     PORT_DIPSETTING(    0x80, "A and B" )
  643.     PORT_DIPSETTING(    0x00, "A only" )
  644. INPUT_PORTS_END
  645.  
  646. INPUT_PORTS_START( alpinea )
  647.     PORT_START      /* IN0 */
  648.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_COCKTAIL )
  649.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
  650.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  651.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  652.     PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL, "2 Fast", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  653.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  654.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  655.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  656.  
  657.     PORT_START      /* IN1 */
  658.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
  659.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  660.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  661.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  662.     PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON1, "Fast", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  663.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  664.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  665.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  666.  
  667.     PORT_START      /* IN2 */
  668.     PORT_BIT( 0x0f, 0x00, IPT_UNUSED )                /* protection read */
  669.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  670.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  671.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  672.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  673.  
  674.     PORT_START      /* Service */
  675.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  676.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  677.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  678.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  679.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
  680.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )        /* flips screen */
  681.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  682.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  683.  
  684.     PORT_START
  685.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  686.  
  687.     PORT_START      /* DSW1 */
  688.     PORT_DIPNAME( 0x03, 0x03, "Jump Bonus" )
  689.     PORT_DIPSETTING(    0x00, "500-1500" )
  690.     PORT_DIPSETTING(    0x01, "800-2000" )
  691.     PORT_DIPSETTING(    0x02, "1000-2500" )
  692.     PORT_DIPSETTING(    0x03, "2000-4000" )
  693.     PORT_BIT(             0x04, IP_ACTIVE_LOW, IPT_UNUSED )
  694.     PORT_DIPNAME( 0x18, 0x18, "Time" )
  695.     PORT_DIPSETTING(    0x00, "1:00" )
  696.     PORT_DIPSETTING(    0x08, "1:30" )
  697.     PORT_DIPSETTING(    0x10, "2:00" )
  698.     PORT_DIPSETTING(    0x18, "2:30" )
  699.     PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
  700.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  701.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  702.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  703.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
  704.     PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
  705.     PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
  706.  
  707.     PORT_START      /* DSW2 Coinage */
  708.     DSW2_PORT
  709.  
  710.     PORT_START      /* DSW3 */
  711.     PORT_DIPNAME( 0x03, 0x03, "1st Extended Time" )
  712.     PORT_DIPSETTING(    0x00, "10k" )
  713.     PORT_DIPSETTING(    0x01, "15k" )
  714.     PORT_DIPSETTING(    0x02, "20k" )
  715.     PORT_DIPSETTING(    0x03, "25k" )
  716.     PORT_DIPNAME( 0x1c, 0x1c, "Extended Time Every" )
  717.     PORT_DIPSETTING(    0x00, "5k" )
  718.     PORT_DIPSETTING(    0x04, "6k" )
  719.     PORT_DIPSETTING(    0x08, "7k" )
  720.     PORT_DIPSETTING(    0x0c, "8k" )
  721.     PORT_DIPSETTING(    0x10, "9k" )
  722.     PORT_DIPSETTING(    0x14, "10k" )
  723.     PORT_DIPSETTING(    0x18, "11k" )
  724.     PORT_DIPSETTING(    0x1c, "12k" )
  725.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  726.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  727.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  728.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  729.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  730.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  731.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  732.     PORT_DIPSETTING(    0x80, "A and B" )
  733.     PORT_DIPSETTING(    0x00, "A only" )
  734. INPUT_PORTS_END
  735.  
  736. INPUT_PORTS_START( timetunl )
  737.     PORT_START      /* IN0 */
  738.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  739.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  740.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
  741.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
  742.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  743.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  744.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  745.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  746.  
  747.     PORT_START      /* IN1 */
  748.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  749.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  750.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  751.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  752.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  753.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  754.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  755.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  756.  
  757.     PORT_START      /* IN2 */
  758.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  759.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  760.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  761.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  762.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  763.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  764.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  765.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  766.  
  767.     PORT_START      /* Service */
  768.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  769.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  770.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  771.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  772.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
  773.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  774.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  775.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  776.  
  777.     PORT_START
  778.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  779.  
  780.     PORT_START      /* DSW1 */
  781.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
  782.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  783.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  784.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
  785.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  786.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  787.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
  788.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  789.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  790.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  791.     PORT_DIPSETTING(    0x18, "3" )
  792.     PORT_DIPSETTING(    0x10, "4" )
  793.     PORT_DIPSETTING(    0x08, "5" )
  794.     PORT_DIPSETTING(    0x00, "6" )
  795.     PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
  796.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  797.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  798.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen ) )
  799.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  800.     PORT_DIPSETTING(    0x40, DEF_STR( On ) )
  801.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  802.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  803.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  804.  
  805.     PORT_START      /* DSW2 Coinage */
  806.     DSW2_PORT
  807.  
  808.     PORT_START      /* DSW3 */
  809.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
  810.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  811.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  812.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
  813.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  814.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  815.     PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
  816.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  817.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  818.     PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
  819.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  820.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  821.     PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
  822.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  823.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  824.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  825.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  826.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  827.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  828.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  829.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  830.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  831.     PORT_DIPSETTING(    0x80, "A and B" )
  832.     PORT_DIPSETTING(    0x00, "A only" )
  833. INPUT_PORTS_END
  834.  
  835. INPUT_PORTS_START( wwestern )
  836.     PORT_START      /* IN0 */
  837.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
  838.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
  839.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
  840.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
  841.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  842.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  843.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  844.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  845.  
  846.     PORT_START      /* IN1 */
  847.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_COCKTAIL )
  848.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  849.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_COCKTAIL )
  850.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_COCKTAIL )
  851.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  852.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  853.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  854.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  855.  
  856.     PORT_START      /* IN2 */
  857.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
  858.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  859.     PORT_BIT( 0x1c, 0x18, IPT_UNUSED )                /* protection read, the game resets after a while without it */
  860.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  861.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  862.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  863.  
  864.     PORT_START      /* Service */
  865.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
  866.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY )
  867.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
  868.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
  869.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  870.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  871.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  872.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  873.  
  874.     PORT_START
  875.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_COCKTAIL )
  876.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  877.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_COCKTAIL )
  878.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_COCKTAIL )
  879.     PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
  880.  
  881.     PORT_START      /* DSW1 */
  882.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
  883.     PORT_DIPSETTING(    0x03, "10000" )
  884.     PORT_DIPSETTING(    0x02, "30000" )
  885.     PORT_DIPSETTING(    0x01, "50000" )
  886.     PORT_DIPSETTING(    0x00, "70000" )
  887.     PORT_DIPNAME( 0x04, 0x00, "High Score Table" )
  888.     PORT_DIPSETTING(    0x04, DEF_STR( No ) )
  889.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  890.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  891.     PORT_DIPSETTING(    0x18, "3" )
  892.     PORT_DIPSETTING(    0x10, "4" )
  893.     PORT_DIPSETTING(    0x08, "5" )
  894.     PORT_DIPSETTING(    0x00, "6" )
  895.     PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
  896.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  897.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  898.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  899.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  900.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  901.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  902.  
  903.     PORT_START      /* DSW2 Coinage */
  904.     DSW2_PORT
  905.  
  906.     PORT_START      /* DSW3 */
  907.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  908.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  909.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  910.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  911.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  912.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  913.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  914.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  915.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  916.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  917.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  918.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  919.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  920.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  921.     PORT_DIPSETTING(    0x10, DEF_STR( On ) )
  922.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  923.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  924.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  925.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  926.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  927.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  928.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  929.     PORT_DIPSETTING(    0x80, "A and B" )
  930.     PORT_DIPSETTING(    0x00, "A only" )
  931. INPUT_PORTS_END
  932.  
  933. INPUT_PORTS_START( frontlin )
  934.     PORT_START      /* IN0 */
  935.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
  936.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
  937.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
  938.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
  939.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  940.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  941.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  942.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  943.  
  944.     PORT_START      /* IN1 */
  945.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_COCKTAIL )
  946.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  947.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_COCKTAIL )
  948.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_COCKTAIL )
  949.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  950.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  951.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  952.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  953.  
  954.     PORT_START      /* IN2 */
  955.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  956.     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  957.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  958.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  959.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  960.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  961.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  962.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  963.  
  964.     PORT_START      /* Service */
  965.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
  966.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY )
  967.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
  968.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
  969.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
  970.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  971.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  972.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  973.  
  974.     PORT_START
  975.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_COCKTAIL )
  976.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  977.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_COCKTAIL )
  978.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_COCKTAIL )
  979.     PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
  980.  
  981.     PORT_START      /* DSW1 */
  982.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
  983.     PORT_DIPSETTING(    0x03, "10000" )
  984.     PORT_DIPSETTING(    0x02, "20000" )
  985.     PORT_DIPSETTING(    0x01, "30000" )
  986.     PORT_DIPSETTING(    0x00, "50000" )
  987.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
  988.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  989.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  990.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  991.     PORT_DIPSETTING(    0x18, "3" )
  992.     PORT_DIPSETTING(    0x10, "4" )
  993.     PORT_DIPSETTING(    0x08, "5" )
  994.     PORT_DIPSETTING(    0x00, "6" )
  995.     PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
  996.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  997.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  998.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  999.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1000.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1001.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1002.  
  1003.     PORT_START      /* DSW2 Coinage */
  1004.     DSW2_PORT
  1005.  
  1006.     PORT_START      /* DSW3 */
  1007.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1008.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1009.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1010.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1011.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1012.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1013.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1014.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1015.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1016.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1017.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1018.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1019.     PORT_DIPNAME( 0x10, 0x10, "Coinage Display" )
  1020.     PORT_DIPSETTING(    0x10, "Coins/Credits" )
  1021.     PORT_DIPSETTING(    0x00, "Insert Coin" )
  1022.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1023.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1024.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1025.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1026.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1027.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1028.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1029.     PORT_DIPSETTING(    0x80, "A and B" )
  1030.     PORT_DIPSETTING(    0x00, "A only" )
  1031. INPUT_PORTS_END
  1032.  
  1033. INPUT_PORTS_START( elevator )
  1034.     PORT_START      /* IN0 */
  1035.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
  1036.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
  1037.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
  1038.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
  1039.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1040.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1041.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1042.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1043.  
  1044.     PORT_START      /* IN1 */
  1045.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
  1046.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
  1047.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
  1048.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
  1049.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1050.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1051.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1052.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1053.  
  1054.     PORT_START      /* IN2 */
  1055.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1056.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1057.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1058.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1059.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  1060.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  1061.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  1062.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1063.  
  1064.     PORT_START      /* Service */
  1065.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1066.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1067.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1068.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1069.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  1070.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  1071.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1072.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1073.  
  1074.     PORT_START
  1075.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1076.  
  1077.     PORT_START      /* DSW1 */
  1078.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
  1079.     PORT_DIPSETTING(    0x03, "10000" )
  1080.     PORT_DIPSETTING(    0x02, "15000" )
  1081.     PORT_DIPSETTING(    0x01, "20000" )
  1082.     PORT_DIPSETTING(    0x00, "24000" )
  1083.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
  1084.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1085.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1086.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  1087.     PORT_DIPSETTING(    0x18, "3" )
  1088.     PORT_DIPSETTING(    0x10, "4" )
  1089.     PORT_DIPSETTING(    0x08, "5" )
  1090.     PORT_DIPSETTING(    0x00, "6" )
  1091.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1092.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1093.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1094.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  1095.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1096.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1097.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1098.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1099.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1100.  
  1101.     PORT_START      /* DSW2 Coinage */
  1102.     DSW2_PORT
  1103.  
  1104.     PORT_START      /* DSW3 */
  1105.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1106.     PORT_DIPSETTING(    0x03, "Easiest" )
  1107.     PORT_DIPSETTING(    0x02, "Easy" )
  1108.     PORT_DIPSETTING(    0x01, "Normal" )
  1109.     PORT_DIPSETTING(    0x00, "Hard" )
  1110.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1111.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1112.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1113.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1114.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1115.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1116.     PORT_DIPNAME( 0x10, 0x10, "Coinage Display" )
  1117.     PORT_DIPSETTING(    0x10, "Coins/Credits" )
  1118.     PORT_DIPSETTING(    0x00, "Insert Coin" )
  1119.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1120.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1121.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1122.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1123.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1124.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1125.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1126.     PORT_DIPSETTING(    0x80, "A and B" )
  1127.     PORT_DIPSETTING(    0x00, "A only" )
  1128. INPUT_PORTS_END
  1129.  
  1130. INPUT_PORTS_START( tinstar )
  1131.     PORT_START      /* IN0 */
  1132.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
  1133.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
  1134.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
  1135.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
  1136.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1137.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1138.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1139.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1140.  
  1141.     PORT_START      /* IN1 */
  1142.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_COCKTAIL )
  1143.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1144.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_COCKTAIL )
  1145.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_COCKTAIL )
  1146.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1147.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1148.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1149.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1150.  
  1151.     PORT_START      /* IN2 */
  1152.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1153.     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  1154.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1155.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1156.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  1157.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  1158.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  1159.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1160.  
  1161.     PORT_START      /* Service */
  1162.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
  1163.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY )
  1164.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
  1165.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
  1166.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
  1167.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  1168.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1169.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1170.  
  1171.     PORT_START
  1172.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_COCKTAIL )
  1173.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1174.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_COCKTAIL )
  1175.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_COCKTAIL )
  1176.     PORT_BIT( 0x30, 0x00, IPT_UNUSED )                /* protection read, the game hangs without it */
  1177.     PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1178.  
  1179.     PORT_START      /* DSW1 */
  1180.     PORT_DIPNAME( 0x03, 0x03, "Bonus Life?" )
  1181.     PORT_DIPSETTING(    0x03, "10000?" )
  1182.     PORT_DIPSETTING(    0x02, "20000?" )
  1183.     PORT_DIPSETTING(    0x01, "30000?" )
  1184.     PORT_DIPSETTING(    0x00, "50000?" )
  1185.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
  1186.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1187.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1188.     PORT_DIPNAME( 0x18, 0x10, DEF_STR( Lives ) )
  1189.     PORT_DIPSETTING(    0x18, "2" )
  1190.     PORT_DIPSETTING(    0x10, "3" )
  1191.     PORT_DIPSETTING(    0x08, "4" )
  1192.     PORT_DIPSETTING(    0x00, "5" )
  1193.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1194.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1195.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1196.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen ) )
  1197.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1198.     PORT_DIPSETTING(    0x40, DEF_STR( On ) )
  1199.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1200.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1201.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1202.  
  1203.     PORT_START      /* DSW2 Coinage */
  1204.     DSW2_PORT
  1205.  
  1206.     PORT_START      /* DSW3 */
  1207.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1208.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1209.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1210.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1211.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1212.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1213.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1214.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1215.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1216.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1217.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1218.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1219.     PORT_DIPNAME( 0x10, 0x10, "Coinage Display" )
  1220.     PORT_DIPSETTING(    0x10, "Coins/Credits" )
  1221.     PORT_DIPSETTING(    0x00, "Insert Coin" )
  1222.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1223.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1224.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1225.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1226.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1227.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1228.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1229.     PORT_DIPSETTING(    0x80, "A and B" )
  1230.     PORT_DIPSETTING(    0x00, "A only" )
  1231. INPUT_PORTS_END
  1232.  
  1233. INPUT_PORTS_START( waterski )
  1234.     PORT_START      /* IN0 */
  1235.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
  1236.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
  1237.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1238.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1239.     PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON1, "Slow", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  1240.     PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_BUTTON2, "Jump", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  1241.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1242.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1243.  
  1244.     PORT_START      /* IN1 */
  1245.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_COCKTAIL )
  1246.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
  1247.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1248.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1249.     PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL, "2 Slow", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  1250.     PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL, "2 Jump", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  1251.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1252.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1253.  
  1254.     PORT_START      /* IN2 */
  1255.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1256.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1257.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1258.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1259.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  1260.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  1261.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  1262.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1263.  
  1264.     PORT_START      /* Service */
  1265.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1266.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1267.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1268.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1269.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  1270.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  1271.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1272.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1273.  
  1274.     PORT_START
  1275.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1276.  
  1277.     PORT_START      /* DSW1 */
  1278.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1279.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1280.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1281.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1282.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1283.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1284.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
  1285.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1286.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1287.     PORT_DIPNAME( 0x18, 0x18, "Time" )
  1288.     PORT_DIPSETTING(    0x00, "2:00" )
  1289.     PORT_DIPSETTING(    0x08, "2:10" )
  1290.     PORT_DIPSETTING(    0x10, "2:20" )
  1291.     PORT_DIPSETTING(    0x18, "2:30" )
  1292.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1293.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1294.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1295.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen ) )
  1296.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1297.     PORT_DIPSETTING(    0x40, DEF_STR( On ) )
  1298.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1299.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1300.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1301.  
  1302.     PORT_START      /* DSW2 Coinage */
  1303.     DSW2_PORT
  1304.  
  1305.     PORT_START      /* DSW3 */
  1306.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1307.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1308.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1309.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1310.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1311.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1312.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1313.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1314.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1315.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1316.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1317.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1318.     PORT_DIPNAME( 0x10, 0x10, "Coinage Display" )
  1319.     PORT_DIPSETTING(    0x10, "Coins/Credits" )
  1320.     PORT_DIPSETTING(    0x00, "Insert Coin" )
  1321.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1322.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1323.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1324.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1325.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1326.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1327.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1328.     PORT_DIPSETTING(    0x80, "A and B" )
  1329.     PORT_DIPSETTING(    0x00, "A only" )
  1330. INPUT_PORTS_END
  1331.  
  1332. INPUT_PORTS_START( bioatack )
  1333.     PORT_START      /* IN0 */
  1334.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
  1335.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1336.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
  1337.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
  1338.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1339.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1340.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1341.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1342.  
  1343.     PORT_START      /* IN1 */
  1344.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
  1345.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1346.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  1347.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  1348.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1349.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1350.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1351.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1352.  
  1353.     PORT_START      /* IN2 */
  1354.     PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
  1355.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
  1356.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
  1357.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  1358.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1359.  
  1360.     PORT_START      /* Service */
  1361.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1362.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1363.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1364.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1365.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
  1366.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  1367.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1368.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1369.  
  1370.     PORT_START
  1371.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1372.  
  1373.     PORT_START      /* DSW1 d50a */
  1374.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
  1375.     PORT_DIPSETTING(    0x03, "5000" )
  1376.     PORT_DIPSETTING(    0x02, "10000" )
  1377.     PORT_DIPSETTING(    0x01, "15000" )
  1378.     PORT_DIPSETTING(    0x00, "20000" )
  1379.     PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
  1380.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1381.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1382.     PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
  1383.     PORT_DIPSETTING(    0x18, "3" )
  1384.     PORT_DIPSETTING(    0x10, "4" )
  1385.     PORT_DIPSETTING(    0x08, "5" )
  1386.     PORT_DIPSETTING(    0x00, "6" )
  1387.     PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
  1388.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1389.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1390.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen ) )
  1391.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1392.     PORT_DIPSETTING(    0x40, DEF_STR( On ) )
  1393.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1394.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1395.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1396.  
  1397.     PORT_START      /* DSW2 Coinage */
  1398.     DSW2_PORT
  1399.  
  1400.     PORT_START      /* DSW3 */
  1401.     PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )    /* most likely unused */
  1402.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1403.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1404.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )    /* most likely unused */
  1405.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1406.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1407.     PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )    /* most likely unused */
  1408.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1409.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1410.     PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )    /* most likely unused */
  1411.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1412.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1413.     PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )    /* most likely unused */
  1414.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1415.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1416.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1417.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1418.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1419.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1420.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1421.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1422.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1423.     PORT_DIPSETTING(    0x80, "A and B" )
  1424.     PORT_DIPSETTING(    0x00, "A only" )
  1425. INPUT_PORTS_END
  1426.  
  1427. INPUT_PORTS_START( sfposeid )
  1428.     PORT_START      /* IN0 */
  1429.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
  1430.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1431.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
  1432.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
  1433.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1434.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1435.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1436.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1437.  
  1438.     PORT_START      /* IN1 */
  1439.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
  1440.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1441.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  1442.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  1443.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1444.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1445.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1446.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1447.  
  1448.     PORT_START      /* IN2 */
  1449.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1450.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1451.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1452.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1453.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  1454.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  1455.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  1456.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1457.  
  1458.     PORT_START      /* Service */
  1459.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1460.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1461.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1462.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1463.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  1464.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  1465.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1466.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1467.  
  1468.     PORT_START
  1469.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1470.  
  1471.     PORT_START      /* DSW1 */
  1472.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1473.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1474.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1475.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1476.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1477.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1478.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1479.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1480.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1481.     PORT_DIPNAME( 0x18, 0x08, DEF_STR( Lives ) )
  1482.     PORT_DIPSETTING(    0x00, "2" )
  1483.     PORT_DIPSETTING(    0x08, "3" )
  1484.     PORT_DIPSETTING(    0x10, "4" )
  1485.     PORT_DIPSETTING(    0x18, "5" )
  1486.     PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
  1487.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1488.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1489.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  1490.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1491.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1492.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1493.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1494.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1495.  
  1496.     PORT_START      /* DSW2 Coinage */
  1497.     DSW2_PORT
  1498.  
  1499.     PORT_START      /* DSW3 */
  1500.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1501.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1502.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1503.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1504.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1505.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1506.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1507.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1508.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1509.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1510.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1511.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1512.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1513.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1514.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1515.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1516.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1517.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1518.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1519.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1520.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1521.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1522.     PORT_DIPSETTING(    0x80, "A and B" )
  1523.     PORT_DIPSETTING(    0x00, "A only" )
  1524. INPUT_PORTS_END
  1525.  
  1526. INPUT_PORTS_START( hwrace )
  1527.     PORT_START      /* IN0 */
  1528.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
  1529.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  1530.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
  1531.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
  1532.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1533.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1534.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1535.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1536.  
  1537.     PORT_START      /* IN1 */
  1538.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
  1539.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  1540.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  1541.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  1542.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1543.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1544.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1545.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1546.  
  1547.     PORT_START      /* IN2 */
  1548.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1549.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1550.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1551.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1552.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  1553.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  1554.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  1555.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1556.  
  1557.     PORT_START      /* Service */
  1558.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1559.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1560.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1561.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1562.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 )
  1563.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  1564.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1565.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1566.  
  1567.     PORT_START
  1568.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1569.  
  1570.     PORT_START      /* DSW1 */
  1571.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  1572.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1573.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1574.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  1575.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1576.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1577.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
  1578.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1579.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1580.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1581.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1582.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1583.     PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1584.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1585.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1586.     PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
  1587.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
  1588.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1589.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1590.     PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
  1591.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1592.     PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
  1593.  
  1594.     PORT_START      /* DSW2 Coinage */
  1595.     DSW2_PORT
  1596.  
  1597.     PORT_START      /* DSW3 */
  1598.     PORT_DIPNAME( 0x01, 0x03, DEF_STR( Unknown ) )
  1599.     PORT_DIPSETTING(    0x00, "0" )
  1600.     PORT_DIPSETTING(    0x01, "1" )
  1601.     PORT_DIPSETTING(    0x02, "2" )
  1602.     PORT_DIPSETTING(    0x03, "3" )
  1603.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1604.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1605.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1606.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1607.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1608.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1609.     PORT_DIPNAME( 0x10, 0x10, "Coinage Display" )
  1610.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1611.     PORT_DIPSETTING(    0x10, DEF_STR( On ) )
  1612.     PORT_DIPNAME( 0x20, 0x20, "Year Display" )
  1613.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1614.     PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
  1615.     PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1616.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1617.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1618.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
  1619.     PORT_DIPSETTING(    0x80, "A and B" )
  1620.     PORT_DIPSETTING(    0x00, "A only" )
  1621. INPUT_PORTS_END
  1622.  
  1623.  
  1624. static struct GfxLayout charlayout =
  1625. {
  1626.     8,8,    /* 8*8 characters */
  1627.     256,    /* 256 characters */
  1628.     3,    /* 3 bits per pixel */
  1629.     { 512*8*8, 256*8*8, 0 },    /* the bitplanes are separated */
  1630.     { 7, 6, 5, 4, 3, 2, 1, 0 },
  1631.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1632.     8*8    /* every char takes 8 consecutive bytes */
  1633. };
  1634. static struct GfxLayout spritelayout =
  1635. {
  1636.     16,16,    /* 16*16 sprites */
  1637.     64,        /* 64 sprites */
  1638.     3,    /* 3 bits per pixel */
  1639.     { 128*16*16, 64*16*16, 0 },    /* the bitplanes are separated */
  1640.     { 7, 6, 5, 4, 3, 2, 1, 0,
  1641.         8*8+7, 8*8+6, 8*8+5, 8*8+4, 8*8+3, 8*8+2, 8*8+1, 8*8+0 },
  1642.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  1643.             16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
  1644.     32*8    /* every sprite takes 32 consecutive bytes */
  1645. };
  1646.  
  1647.  
  1648.  
  1649. static struct GfxDecodeInfo gfxdecodeinfo[] =
  1650. {
  1651.     { 0, 0x9000, &charlayout,   0, 16 },    /* the game dynamically modifies this */
  1652.     { 0, 0x9000, &spritelayout, 0, 16 },    /* the game dynamically modifies this */
  1653.     { 0, 0xa800, &charlayout,   0, 16 },    /* the game dynamically modifies this */
  1654.     { 0, 0xa800, &spritelayout, 0, 16 },    /* the game dynamically modifies this */
  1655.     { -1 } /* end of array */
  1656. };
  1657.  
  1658.  
  1659.  
  1660. static struct AY8910interface ay8910_interface =
  1661. {
  1662.     4,    /* 4 chips */
  1663.     6000000/4,    /* 1.5 MHz */
  1664.     { 15, 15, 15, MIXERG(15,MIXER_GAIN_2x,MIXER_PAN_CENTER) },
  1665.     { input_port_6_r, 0, 0, 0 },        /* port Aread */
  1666.     { input_port_7_r, 0, 0, 0 },        /* port Bread */
  1667.     { 0, DAC_0_data_w, 0, 0 },            /* port Awrite */
  1668.     { 0, 0, 0, taitosj_sndnmi_msk_w }    /* port Bwrite */
  1669. };
  1670.  
  1671. static struct DACinterface dac_interface =
  1672. {
  1673.     1,
  1674.     { 15 }
  1675. };
  1676.  
  1677.  
  1678.  
  1679. static struct MachineDriver machine_driver_nomcu =
  1680. {
  1681.     /* basic machine hardware */
  1682.     {
  1683.         {
  1684.             CPU_Z80,
  1685.             8000000/2,    /* 4 Mhz */
  1686.             readmem,writemem,0,0,
  1687.             interrupt,1
  1688.         },
  1689.         {
  1690.             CPU_Z80 | CPU_AUDIO_CPU,
  1691.             6000000/2,    /* 3 Mhz */
  1692.             sound_readmem,sound_writemem,0,0,
  1693.             /* interrupts: */
  1694.             /* - no interrupts synced with vblank */
  1695.             /* - NMI triggered by the main CPU */
  1696.             /* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */
  1697.             /*   that is a period of 27306666.6666 ns */
  1698.             0,0,
  1699.             interrupt,27306667
  1700.         }
  1701.     },
  1702.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,    /* frames per second, vblank duration */
  1703.     1,    /* 1 CPU slice per frame - interleaving is forced when a sound command is written */
  1704.     taitosj_init_machine,
  1705.  
  1706.     /* video hardware */
  1707.     32*8, 32*8, { 0*8, 32*8-1, 2*8, 30*8-1 },
  1708.     gfxdecodeinfo,
  1709.     64, 16*8,
  1710.     taitosj_vh_convert_color_prom,
  1711.  
  1712.     VIDEO_TYPE_RASTER|VIDEO_MODIFIES_PALETTE,
  1713.     0,
  1714.     taitosj_vh_start,
  1715.     taitosj_vh_stop,
  1716.     taitosj_vh_screenrefresh,
  1717.  
  1718.     /* sound hardware */
  1719.     0,0,0,0,
  1720.     {
  1721.         {
  1722.             SOUND_AY8910,
  1723.             &ay8910_interface
  1724.         },
  1725.         {
  1726.             SOUND_DAC,
  1727.             &dac_interface
  1728.         }
  1729.     }
  1730. };
  1731.  
  1732. /* same as above, but with additional 68705 MCU */
  1733. static struct MachineDriver machine_driver_mcu =
  1734. {
  1735.     /* basic machine hardware */
  1736.     {
  1737.         {
  1738.             CPU_Z80,
  1739.             8000000/2,    /* 4 Mhz */
  1740.             mcu_readmem,mcu_writemem,0,0,
  1741.             interrupt,1
  1742.         },
  1743.         {
  1744.             CPU_Z80 | CPU_AUDIO_CPU,
  1745.             6000000/2,    /* 3 Mhz */
  1746.             sound_readmem,sound_writemem,0,0,
  1747.             /* interrupts: */
  1748.             /* - no interrupts synced with vblank */
  1749.             /* - NMI triggered by the main CPU */
  1750.             /* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */
  1751.             /*   that is a period of 27306666.6666 ns */
  1752.             0,0,
  1753.             interrupt,27306667
  1754.         },
  1755.         {
  1756.             CPU_M68705,
  1757.             3000000/2,    /* xtal is 3MHz, I think it's divided by 2 internally */
  1758.             m68705_readmem,m68705_writemem,0,0,
  1759.             ignore_interrupt,0    /* IRQs are caused by the main CPU */
  1760.         }
  1761.     },
  1762.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,    /* frames per second, vblank duration */
  1763.     1,    /* 1 CPU slice per frame - interleaving is forced when necessary */
  1764.     taitosj_init_machine,
  1765.  
  1766.     /* video hardware */
  1767.     32*8, 32*8, { 0*8, 32*8-1, 2*8, 30*8-1 },
  1768.     gfxdecodeinfo,
  1769.     64, 16*8,
  1770.     taitosj_vh_convert_color_prom,
  1771.  
  1772.     VIDEO_TYPE_RASTER|VIDEO_MODIFIES_PALETTE,
  1773.     0,
  1774.     taitosj_vh_start,
  1775.     taitosj_vh_stop,
  1776.     taitosj_vh_screenrefresh,
  1777.  
  1778.     /* sound hardware */
  1779.     0,0,0,0,
  1780.     {
  1781.         {
  1782.             SOUND_AY8910,
  1783.             &ay8910_interface
  1784.         },
  1785.         {
  1786.             SOUND_DAC,
  1787.             &dac_interface
  1788.         }
  1789.     }
  1790. };
  1791.  
  1792.  
  1793.  
  1794. /***************************************************************************
  1795.  
  1796.   Game driver(s)
  1797.  
  1798. ***************************************************************************/
  1799.  
  1800. ROM_START( spaceskr )
  1801.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  1802.     ROM_LOAD( "eb01",         0x0000, 0x1000, 0x92345b05 )
  1803.     ROM_LOAD( "eb02",         0x1000, 0x1000, 0xa3e21420 )
  1804.     ROM_LOAD( "eb03",         0x2000, 0x1000, 0xa077c52f )
  1805.     ROM_LOAD( "eb04",         0x3000, 0x1000, 0x440030cf )
  1806.     ROM_LOAD( "eb05",         0x4000, 0x1000, 0xb0d396ab )
  1807.     ROM_LOAD( "eb06",         0x5000, 0x1000, 0x371d2f7a )
  1808.     ROM_LOAD( "eb07",         0x6000, 0x1000, 0x13e667c4 )
  1809.     ROM_LOAD( "eb08",         0x7000, 0x1000, 0xf2e84015 )
  1810.     /* 10000-11fff space for banked ROMs (not used) */
  1811.  
  1812.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  1813.     ROM_LOAD( "eb13",         0x0000, 0x1000, 0x192f6536 )
  1814.     ROM_LOAD( "eb14",         0x1000, 0x1000, 0xd04d0a21 )
  1815.     ROM_LOAD( "eb15",         0x2000, 0x1000, 0x88194305 )
  1816.  
  1817.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1818.     ROM_LOAD( "eb09",         0x0000, 0x1000, 0x77af540e )
  1819.     ROM_LOAD( "eb10",         0x1000, 0x1000, 0xb10073de )
  1820.     ROM_LOAD( "eb11",         0x2000, 0x1000, 0xc7954bd1 )
  1821.     ROM_LOAD( "eb12",         0x3000, 0x1000, 0xcd6c087b )
  1822.  
  1823.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  1824.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  1825. ROM_END
  1826.  
  1827. ROM_START( junglek )
  1828.     ROM_REGION( 0x12000, REGION_CPU1 ) /* 64k for code */
  1829.     ROM_LOAD( "kn21-1.bin",   0x00000, 0x1000, 0x45f55d30 )
  1830.     ROM_LOAD( "kn22-1.bin",   0x01000, 0x1000, 0x07cc9a21 )
  1831.     ROM_LOAD( "kn43.bin",     0x02000, 0x1000, 0xa20e5a48 )
  1832.     ROM_LOAD( "kn24.bin",     0x03000, 0x1000, 0x19ea7f83 )
  1833.     ROM_LOAD( "kn25.bin",     0x04000, 0x1000, 0x844365ea )
  1834.     ROM_LOAD( "kn46.bin",     0x05000, 0x1000, 0x27a95fd5 )
  1835.     ROM_LOAD( "kn47.bin",     0x06000, 0x1000, 0x5c3199e0 )
  1836.     ROM_LOAD( "kn28.bin",     0x07000, 0x1000, 0x194a2d09 )
  1837.     /* 10000-10fff space for another banked ROM (not used) */
  1838.     ROM_LOAD( "kn60.bin",     0x11000, 0x1000, 0x1a9c0a26 ) /* banked at 7000 */
  1839.  
  1840.     ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
  1841.     ROM_LOAD( "kn37.bin",     0x0000, 0x1000, 0xdee7f5d4 )
  1842.     ROM_LOAD( "kn38.bin",     0x1000, 0x1000, 0xbffd3d21 )
  1843.     ROM_LOAD( "kn59-1.bin",   0x2000, 0x1000, 0xcee485fc )
  1844.  
  1845.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1846.     ROM_LOAD( "kn29.bin",     0x0000, 0x1000, 0x8f83c290 )
  1847.     ROM_LOAD( "kn30.bin",     0x1000, 0x1000, 0x89fd19f1 )
  1848.     ROM_LOAD( "kn51.bin",     0x2000, 0x1000, 0x70e8fc12 )
  1849.     ROM_LOAD( "kn52.bin",     0x3000, 0x1000, 0xbcbac1a3 )
  1850.     ROM_LOAD( "kn53.bin",     0x4000, 0x1000, 0xb946c87d )
  1851.     ROM_LOAD( "kn34.bin",     0x5000, 0x1000, 0x320db2e1 )
  1852.     ROM_LOAD( "kn55.bin",     0x6000, 0x1000, 0x70aef58f )
  1853.     ROM_LOAD( "kn56.bin",     0x7000, 0x1000, 0x932eb667 )
  1854.  
  1855.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  1856.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  1857. ROM_END
  1858.  
  1859. ROM_START( junglkj2 )
  1860.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  1861.     ROM_LOAD( "kn41.bin",     0x00000, 0x1000, 0x7e4cd631 )
  1862.     ROM_LOAD( "kn42.bin",     0x01000, 0x1000, 0xbade53af )
  1863.     ROM_LOAD( "kn43.bin",     0x02000, 0x1000, 0xa20e5a48 )
  1864.     ROM_LOAD( "kn44.bin",     0x03000, 0x1000, 0x44c770d3 )
  1865.     ROM_LOAD( "kn45.bin",     0x04000, 0x1000, 0xf60a3d06 )
  1866.     ROM_LOAD( "kn46.bin",     0x05000, 0x1000, 0x27a95fd5 )
  1867.     ROM_LOAD( "kn47.bin",     0x06000, 0x1000, 0x5c3199e0 )
  1868.     ROM_LOAD( "kn48.bin",     0x07000, 0x1000, 0xe690b36e )
  1869.     /* 10000-10fff space for another banked ROM (not used) */
  1870.     ROM_LOAD( "kn60.bin",     0x11000, 0x1000, 0x1a9c0a26 )    /* banked at 7000 */
  1871.  
  1872.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  1873.     ROM_LOAD( "kn57-1.bin",   0x0000, 0x1000, 0x62f6763a )
  1874.     ROM_LOAD( "kn58-1.bin",   0x1000, 0x1000, 0x9ef46c7f )
  1875.     ROM_LOAD( "kn59-1.bin",   0x2000, 0x1000, 0xcee485fc )
  1876.  
  1877.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1878.     ROM_LOAD( "kn49.bin",     0x0000, 0x1000, 0xfe275213 )
  1879.     ROM_LOAD( "kn50.bin",     0x1000, 0x1000, 0xd9f93c55 )
  1880.     ROM_LOAD( "kn51.bin",     0x2000, 0x1000, 0x70e8fc12 )
  1881.     ROM_LOAD( "kn52.bin",     0x3000, 0x1000, 0xbcbac1a3 )
  1882.     ROM_LOAD( "kn53.bin",     0x4000, 0x1000, 0xb946c87d )
  1883.     ROM_LOAD( "kn54.bin",     0x5000, 0x1000, 0xf757d8f0 )
  1884.     ROM_LOAD( "kn55.bin",     0x6000, 0x1000, 0x70aef58f )
  1885.     ROM_LOAD( "kn56.bin",     0x7000, 0x1000, 0x932eb667 )
  1886.  
  1887.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  1888.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  1889. ROM_END
  1890.  
  1891. ROM_START( jungleh )
  1892.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  1893.     ROM_LOAD( "kn41a",        0x00000, 0x1000, 0x6bf118d8 )
  1894.     ROM_LOAD( "kn42.bin",     0x01000, 0x1000, 0xbade53af )
  1895.     ROM_LOAD( "kn43.bin",     0x02000, 0x1000, 0xa20e5a48 )
  1896.     ROM_LOAD( "kn44.bin",     0x03000, 0x1000, 0x44c770d3 )
  1897.     ROM_LOAD( "kn45.bin",     0x04000, 0x1000, 0xf60a3d06 )
  1898.     ROM_LOAD( "kn46a",        0x05000, 0x1000, 0xac89c155 )
  1899.     ROM_LOAD( "kn47.bin",     0x06000, 0x1000, 0x5c3199e0 )
  1900.     ROM_LOAD( "kn48a",        0x07000, 0x1000, 0xef80e931 )
  1901.     /* 10000-10fff space for another banked ROM (not used) */
  1902.     ROM_LOAD( "kn60.bin",     0x11000, 0x1000, 0x1a9c0a26 )    /* banked at 7000 */
  1903.  
  1904.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  1905.     ROM_LOAD( "kn57-1.bin",   0x0000, 0x1000, 0x62f6763a )
  1906.     ROM_LOAD( "kn58-1.bin",   0x1000, 0x1000, 0x9ef46c7f )
  1907.     ROM_LOAD( "kn59-1.bin",   0x2000, 0x1000, 0xcee485fc )
  1908.  
  1909.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1910.     ROM_LOAD( "kn49a",        0x0000, 0x1000, 0xb139e792 )
  1911.     ROM_LOAD( "kn50a",        0x1000, 0x1000, 0x1046019f )
  1912.     ROM_LOAD( "kn51a",        0x2000, 0x1000, 0xda50c8a4 )
  1913.     ROM_LOAD( "kn52a",        0x3000, 0x1000, 0x0444f06c )
  1914.     ROM_LOAD( "kn53a",        0x4000, 0x1000, 0x6a17803e )
  1915.     ROM_LOAD( "kn54a",        0x5000, 0x1000, 0xd41428c7 )
  1916.     ROM_LOAD( "kn55.bin",     0x6000, 0x1000, 0x70aef58f )
  1917.     ROM_LOAD( "kn56a",        0x7000, 0x1000, 0x679c1101 )
  1918.  
  1919.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  1920.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  1921. ROM_END
  1922.  
  1923. ROM_START( alpine )
  1924.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  1925.     ROM_LOAD( "rh16.069",     0x0000, 0x1000, 0x6b2a69b7 )
  1926.     ROM_LOAD( "rh17.068",     0x1000, 0x1000, 0xe344b0b7 )
  1927.     ROM_LOAD( "rh18.067",     0x2000, 0x1000, 0x753bdd87 )
  1928.     ROM_LOAD( "rh19.066",     0x3000, 0x1000, 0x3efb3fcd )
  1929.     ROM_LOAD( "rh20.065",     0x4000, 0x1000, 0xc2cd4e79 )
  1930.     ROM_LOAD( "rh21.064",     0x5000, 0x1000, 0x74109145 )
  1931.     ROM_LOAD( "rh22.055",     0x6000, 0x1000, 0xefa82a57 )
  1932.     ROM_LOAD( "rh23.054",     0x7000, 0x1000, 0x77c25acf )
  1933.     /* 10000-11fff space for banked ROMs (not used) */
  1934.  
  1935.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  1936.     ROM_LOAD( "rh13.070",     0x0000, 0x1000, 0xdcad1794 )
  1937.  
  1938.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1939.     ROM_LOAD( "rh24.001",     0x0000, 0x1000, 0x4b1d9455 )
  1940.     ROM_LOAD( "rh25.002",     0x1000, 0x1000, 0xbf71e278 )
  1941.     ROM_LOAD( "rh26.003",     0x2000, 0x1000, 0x13da2a9b )
  1942.     ROM_LOAD( "rh27.004",     0x3000, 0x1000, 0x425b52b0 )
  1943.  
  1944.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  1945.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  1946. ROM_END
  1947.  
  1948. ROM_START( alpinea )
  1949.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  1950.     ROM_LOAD( "rh01-1.69",    0x0000, 0x1000, 0x7fbcb635 )
  1951.     ROM_LOAD( "rh02.68",      0x1000, 0x1000, 0xc83f95af )
  1952.     ROM_LOAD( "rh03.67",      0x2000, 0x1000, 0x211102bc )
  1953.     ROM_LOAD( "rh04-1.66",    0x3000, 0x1000, 0x494a91b0 )
  1954.     ROM_LOAD( "rh05.65",      0x4000, 0x1000, 0xd85588be )
  1955.     ROM_LOAD( "rh06.64",      0x5000, 0x1000, 0x521fddb9 )
  1956.     ROM_LOAD( "rh07.55",      0x6000, 0x1000, 0x51f369a4 )
  1957.     ROM_LOAD( "rh08.54",      0x7000, 0x1000, 0xe0af9cb2 )
  1958.     /* 10000-11fff space for banked ROMs (not used) */
  1959.  
  1960.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  1961.     ROM_LOAD( "rh13.070",     0x0000, 0x1000, 0xdcad1794 )
  1962.  
  1963.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1964.     ROM_LOAD( "rh24.001",     0x0000, 0x1000, 0x4b1d9455 )
  1965.     ROM_LOAD( "rh25.002",     0x1000, 0x1000, 0xbf71e278 )
  1966.     ROM_LOAD( "rh26.003",     0x2000, 0x1000, 0x13da2a9b )
  1967.     ROM_LOAD( "rh12.4",       0x3000, 0x1000, 0x0ff0d1fe )
  1968.  
  1969.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  1970.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  1971. ROM_END
  1972.  
  1973. ROM_START( timetunl )
  1974.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  1975.     ROM_LOAD( "un01.69",      0x00000, 0x1000, 0x2e56d946 )
  1976.     ROM_LOAD( "un02.68",      0x01000, 0x1000, 0xf611d852 )
  1977.     ROM_LOAD( "un03.67",      0x02000, 0x1000, 0x144b5e7f )
  1978.     ROM_LOAD( "un04.66",      0x03000, 0x1000, 0xb6767eba )
  1979.     ROM_LOAD( "un05.65",      0x04000, 0x1000, 0x91e3c558 )
  1980.     ROM_LOAD( "un06.64",      0x05000, 0x1000, 0xaf5a7d2a )
  1981.     ROM_LOAD( "un07.55",      0x06000, 0x1000, 0x4ee50999 )
  1982.     ROM_LOAD( "un08.54",      0x07000, 0x1000, 0x97259b57 )
  1983.     ROM_LOAD( "un09.53",      0x10000, 0x1000, 0x771d0fb0 )    /* banked at 6000 */
  1984.     ROM_LOAD( "un10.52",      0x11000, 0x1000, 0x8b6afad2 )    /* banked at 7000 */
  1985.  
  1986.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  1987.     ROM_LOAD( "un19.70",      0x0000, 0x1000, 0xdbf726c6 )
  1988.  
  1989.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  1990.     ROM_LOAD( "un11.1",       0x0000, 0x1000, 0x3be4fed6 )
  1991.     ROM_LOAD( "un12.2",       0x1000, 0x1000, 0x2dee1cf3 )
  1992.     ROM_LOAD( "un13.3",       0x2000, 0x1000, 0x72b491a8 )
  1993.     ROM_LOAD( "un14.4",       0x3000, 0x1000, 0x5f695369 )
  1994.     ROM_LOAD( "un15.5",       0x4000, 0x1000, 0x001df94b )
  1995.     ROM_LOAD( "un16.6",       0x5000, 0x1000, 0xe33b9019 )
  1996.     ROM_LOAD( "un17.7",       0x6000, 0x1000, 0xd66025b8 )
  1997.     ROM_LOAD( "un18.8",       0x7000, 0x1000, 0xe67ff377 )
  1998.  
  1999.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2000.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2001. ROM_END
  2002.  
  2003. ROM_START( wwestern )
  2004.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2005.     ROM_LOAD( "ww01.bin",     0x0000, 0x1000, 0xbfe10753 )
  2006.     ROM_LOAD( "ww02d.bin",    0x1000, 0x1000, 0x20579e90 )
  2007.     ROM_LOAD( "ww03d.bin",    0x2000, 0x1000, 0x0e65be37 )
  2008.     ROM_LOAD( "ww04d.bin",    0x3000, 0x1000, 0xb3565a31 )
  2009.     ROM_LOAD( "ww05d.bin",    0x4000, 0x1000, 0x089f3d89 )
  2010.     ROM_LOAD( "ww06d.bin",    0x5000, 0x1000, 0xc81c9736 )
  2011.     ROM_LOAD( "ww07.bin",     0x6000, 0x1000, 0x1937cc17 )
  2012.     /* 10000-11fff space for banked ROMs (not used) */
  2013.  
  2014.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2015.     ROM_LOAD( "ww14.bin",     0x0000, 0x1000, 0x23776870 )
  2016.  
  2017.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2018.     ROM_LOAD( "ww08.bin",     0x0000, 0x1000, 0x041a5a1c )
  2019.     ROM_LOAD( "ww09.bin",     0x1000, 0x1000, 0x07982ac5 )
  2020.     ROM_LOAD( "ww10.bin",     0x2000, 0x1000, 0xf32ae203 )
  2021.     ROM_LOAD( "ww11.bin",     0x3000, 0x1000, 0x7ff1431f )
  2022.     ROM_LOAD( "ww12.bin",     0x4000, 0x1000, 0xbe1b563a )
  2023.     ROM_LOAD( "ww13.bin",     0x5000, 0x1000, 0x092cd9e5 )
  2024.  
  2025.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2026.     ROM_LOAD( "ww17",         0x0000, 0x0100, 0x93447d2b )
  2027. ROM_END
  2028.  
  2029. ROM_START( wwester1 )
  2030.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2031.     ROM_LOAD( "ww01.bin",     0x0000, 0x1000, 0xbfe10753 )
  2032.     ROM_LOAD( "ww02",         0x1000, 0x1000, 0xf011103a )
  2033.     ROM_LOAD( "ww03d.bin",    0x2000, 0x1000, 0x0e65be37 )
  2034.     ROM_LOAD( "ww04a",        0x3000, 0x1000, 0x68b31a6e )
  2035.     ROM_LOAD( "ww05",         0x4000, 0x1000, 0x78293f81 )
  2036.     ROM_LOAD( "ww06",         0x5000, 0x1000, 0xd015e435 )
  2037.     ROM_LOAD( "ww07.bin",     0x6000, 0x1000, 0x1937cc17 )
  2038.     /* 10000-11fff space for banked ROMs (not used) */
  2039.  
  2040.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2041.     ROM_LOAD( "ww14.bin",     0x0000, 0x1000, 0x23776870 )
  2042.  
  2043.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2044.     ROM_LOAD( "ww08.bin",     0x0000, 0x1000, 0x041a5a1c )
  2045.     ROM_LOAD( "ww09.bin",     0x1000, 0x1000, 0x07982ac5 )
  2046.     ROM_LOAD( "ww10.bin",     0x2000, 0x1000, 0xf32ae203 )
  2047.     ROM_LOAD( "ww11.bin",     0x3000, 0x1000, 0x7ff1431f )
  2048.     ROM_LOAD( "ww12.bin",     0x4000, 0x1000, 0xbe1b563a )
  2049.     ROM_LOAD( "ww13.bin",     0x5000, 0x1000, 0x092cd9e5 )
  2050.  
  2051.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2052.     ROM_LOAD( "ww17",         0x0000, 0x0100, 0x93447d2b )
  2053. ROM_END
  2054.  
  2055. ROM_START( frontlin )
  2056.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2057.     ROM_LOAD( "fl69.u69",     0x00000, 0x1000, 0x93b64599 )
  2058.     ROM_LOAD( "fl68.u68",     0x01000, 0x1000, 0x82dccdfb )
  2059.     ROM_LOAD( "fl67.u67",     0x02000, 0x1000, 0x3fa1ba12 )
  2060.     ROM_LOAD( "fl66.u66",     0x03000, 0x1000, 0x4a3db285 )
  2061.     ROM_LOAD( "fl65.u65",     0x04000, 0x1000, 0xda00ec70 )
  2062.     ROM_LOAD( "fl64.u64",     0x05000, 0x1000, 0x9fc90a20 )
  2063.     ROM_LOAD( "fl55.u55",     0x06000, 0x1000, 0x359242c2 )
  2064.     ROM_LOAD( "fl54.u54",     0x07000, 0x1000, 0xd234c60f )
  2065.     ROM_LOAD( "aa1_10.8",     0x0e000, 0x1000, 0x2704aa4c )
  2066.     ROM_LOAD( "fl53.u53",     0x10000, 0x1000, 0x67429975 )    /* banked at 6000 */
  2067.     ROM_LOAD( "fl52.u52",     0x11000, 0x1000, 0xcb223d34 )    /* banked at 7000 */
  2068.  
  2069.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2070.     ROM_LOAD( "fl70.u70",     0x0000, 0x1000, 0x15f4ed8c )
  2071.     ROM_LOAD( "fl71.u71",     0x1000, 0x1000, 0xc3eb38e7 )
  2072.  
  2073.     ROM_REGION( 0x0800, REGION_CPU3 )    /* 2k for the microcontroller */
  2074.     ROM_LOAD( "aa1.13",       0x0000, 0x0800, 0x7e78bdd3 )
  2075.  
  2076.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2077.     ROM_LOAD( "fl1.u1",       0x0000, 0x1000, 0xe82c9f46 )
  2078.     ROM_LOAD( "fl2.u2",       0x1000, 0x1000, 0x123055d3 )
  2079.     ROM_LOAD( "fl3.u3",       0x2000, 0x1000, 0x7ea46347 )
  2080.     ROM_LOAD( "fl4.u4",       0x3000, 0x1000, 0x9e2cff10 )
  2081.     ROM_LOAD( "fl5.u5",       0x4000, 0x1000, 0x630b4be1 )
  2082.     ROM_LOAD( "fl6.u6",       0x5000, 0x1000, 0x9e092d58 )
  2083.     ROM_LOAD( "fl7.u7",       0x6000, 0x1000, 0x613682a3 )
  2084.     ROM_LOAD( "fl8.u8",       0x7000, 0x1000, 0xf73b0d5e )
  2085.  
  2086.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2087.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2088. ROM_END
  2089.  
  2090. ROM_START( elevator )
  2091.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2092.     ROM_LOAD( "ea-ic69.bin",  0x0000, 0x1000, 0x24e277ef )
  2093.     ROM_LOAD( "ea-ic68.bin",  0x1000, 0x1000, 0x13702e39 )
  2094.     ROM_LOAD( "ea-ic67.bin",  0x2000, 0x1000, 0x46f52646 )
  2095.     ROM_LOAD( "ea-ic66.bin",  0x3000, 0x1000, 0xe22fe57e )
  2096.     ROM_LOAD( "ea-ic65.bin",  0x4000, 0x1000, 0xc10691d7 )
  2097.     ROM_LOAD( "ea-ic64.bin",  0x5000, 0x1000, 0x8913b293 )
  2098.     ROM_LOAD( "ea-ic55.bin",  0x6000, 0x1000, 0x1cabda08 )
  2099.     ROM_LOAD( "ea-ic54.bin",  0x7000, 0x1000, 0xf4647b4f )
  2100.     /* 10000-11fff space for banked ROMs (not used) */
  2101.  
  2102.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2103.     ROM_LOAD( "ea-ic70.bin",  0x0000, 0x1000, 0x6d5f57cb )
  2104.     ROM_LOAD( "ea-ic71.bin",  0x1000, 0x1000, 0xf0a769a1 )
  2105.  
  2106.     ROM_REGION( 0x0800, REGION_CPU3 )    /* 2k for the microcontroller */
  2107.     ROM_LOAD( "ba3.11",       0x0000, 0x0800, 0x9ce75afc )
  2108.  
  2109.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2110.     ROM_LOAD( "ea-ic1.bin",   0x0000, 0x1000, 0xbbbb3fba )
  2111.     ROM_LOAD( "ea-ic2.bin",   0x1000, 0x1000, 0x639cc2fd )
  2112.     ROM_LOAD( "ea-ic3.bin",   0x2000, 0x1000, 0x61317eea )
  2113.     ROM_LOAD( "ea-ic4.bin",   0x3000, 0x1000, 0x55446482 )
  2114.     ROM_LOAD( "ea-ic5.bin",   0x4000, 0x1000, 0x77895c0f )
  2115.     ROM_LOAD( "ea-ic6.bin",   0x5000, 0x1000, 0x9a1b6901 )
  2116.     ROM_LOAD( "ea-ic7.bin",   0x6000, 0x1000, 0x839112ec )
  2117.     ROM_LOAD( "ea-ic8.bin",   0x7000, 0x1000, 0xdb7ff692 )
  2118.  
  2119.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2120.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2121. ROM_END
  2122.  
  2123. ROM_START( elevatob )
  2124.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2125.     ROM_LOAD( "ea69.bin",     0x0000, 0x1000, 0x66baa214 )
  2126.     ROM_LOAD( "ea-ic68.bin",  0x1000, 0x1000, 0x13702e39 )
  2127.     ROM_LOAD( "ea-ic67.bin",  0x2000, 0x1000, 0x46f52646 )
  2128.     ROM_LOAD( "ea66.bin",     0x3000, 0x1000, 0xb88f3383 )
  2129.     ROM_LOAD( "ea-ic65.bin",  0x4000, 0x1000, 0xc10691d7 )
  2130.     ROM_LOAD( "ea-ic64.bin",  0x5000, 0x1000, 0x8913b293 )
  2131.     ROM_LOAD( "ea55.bin",     0x6000, 0x1000, 0xd546923e )
  2132.     ROM_LOAD( "ea54.bin",     0x7000, 0x1000, 0x963ec5a5 )
  2133.     /* 10000-10fff space for another banked ROM (not used) */
  2134.     ROM_LOAD( "ea52.bin",     0x11000, 0x1000, 0x44b1314a )    /* protection crack, bank switched at 7000 */
  2135.  
  2136.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2137.     ROM_LOAD( "ea-ic70.bin",  0x0000, 0x1000, 0x6d5f57cb )
  2138.     ROM_LOAD( "ea-ic71.bin",  0x1000, 0x1000, 0xf0a769a1 )
  2139.  
  2140.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2141.     ROM_LOAD( "ea-ic1.bin",   0x0000, 0x1000, 0xbbbb3fba )
  2142.     ROM_LOAD( "ea-ic2.bin",   0x1000, 0x1000, 0x639cc2fd )
  2143.     ROM_LOAD( "ea-ic3.bin",   0x2000, 0x1000, 0x61317eea )
  2144.     ROM_LOAD( "ea-ic4.bin",   0x3000, 0x1000, 0x55446482 )
  2145.     ROM_LOAD( "ea-ic5.bin",   0x4000, 0x1000, 0x77895c0f )
  2146.     ROM_LOAD( "ea-ic6.bin",   0x5000, 0x1000, 0x9a1b6901 )
  2147.     ROM_LOAD( "ea-ic7.bin",   0x6000, 0x1000, 0x839112ec )
  2148.     ROM_LOAD( "ea08.bin",     0x7000, 0x1000, 0x67ebf7c1 )
  2149.  
  2150.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2151.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2152. ROM_END
  2153.  
  2154. ROM_START( tinstar )
  2155.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2156.     ROM_LOAD( "ts.69",        0x0000, 0x1000, 0xa930af60 )
  2157.     ROM_LOAD( "ts.68",        0x1000, 0x1000, 0x7f2714ca )
  2158.     ROM_LOAD( "ts.67",        0x2000, 0x1000, 0x49170786 )
  2159.     ROM_LOAD( "ts.66",        0x3000, 0x1000, 0x3766f130 )
  2160.     ROM_LOAD( "ts.65",        0x4000, 0x1000, 0x41251246 )
  2161.     ROM_LOAD( "ts.64",        0x5000, 0x1000, 0x812285d5 )
  2162.     ROM_LOAD( "ts.55",        0x6000, 0x1000, 0x6b80ac51 )
  2163.     ROM_LOAD( "ts.54",        0x7000, 0x1000, 0xb352360f )
  2164.     /* 10000-11fff space for banked ROMs (not used) */
  2165.  
  2166.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2167.     ROM_LOAD( "ts.70",        0x0000, 0x1000, 0x4771838d )
  2168.     ROM_LOAD( "ts.71",        0x1000, 0x1000, 0x03c91332 )
  2169.     ROM_LOAD( "ts.72",        0x2000, 0x1000, 0xbeeed8f3 )
  2170.  
  2171.     ROM_REGION( 0x0800, REGION_CPU3 )    /* 2k for the microcontroller */
  2172.     ROM_LOAD( "a10-12",       0x0000, 0x0800, 0x889eefc9 )
  2173.  
  2174.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2175.     ROM_LOAD( "ts.1",         0x0000, 0x1000, 0xf1160718 )
  2176.     ROM_LOAD( "ts.2",         0x1000, 0x1000, 0x39dc6dbb )
  2177.     ROM_LOAD( "ts.3",         0x2000, 0x1000, 0x079df429 )
  2178.     ROM_LOAD( "ts.4",         0x3000, 0x1000, 0xe61105d4 )
  2179.     ROM_LOAD( "ts.5",         0x4000, 0x1000, 0xffab5d15 )
  2180.     ROM_LOAD( "ts.6",         0x5000, 0x1000, 0xf1d8ca36 )
  2181.     ROM_LOAD( "ts.7",         0x6000, 0x1000, 0x894f6332 )
  2182.     ROM_LOAD( "ts.8",         0x7000, 0x1000, 0x519aed19 )
  2183.  
  2184.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2185.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2186. ROM_END
  2187.  
  2188. ROM_START( waterski )
  2189.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2190.     ROM_LOAD( "a03-01",       0x0000, 0x1000, 0x322c4c2c )
  2191.     ROM_LOAD( "a03-02",       0x1000, 0x1000, 0x8df176d1 )
  2192.     ROM_LOAD( "a03-03",       0x2000, 0x1000, 0x420bd04f )
  2193.     ROM_LOAD( "a03-04",       0x3000, 0x1000, 0x5c081a94 )
  2194.     ROM_LOAD( "a03-05",       0x4000, 0x1000, 0x1fae90d2 )
  2195.     ROM_LOAD( "a03-06",       0x5000, 0x1000, 0x55b7c151 )
  2196.     ROM_LOAD( "a03-07",       0x6000, 0x1000, 0x8abc7522 )
  2197.     /* 10000-11fff space for banked ROMs (not used) */
  2198.  
  2199.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2200.     ROM_LOAD( "a03-13",       0x0000, 0x1000, 0x78c7d37f )
  2201.     ROM_LOAD( "a03-14",       0x1000, 0x1000, 0x31f991ca )
  2202.  
  2203.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2204.     ROM_LOAD( "a03-08",       0x0000, 0x1000, 0x00000000 )    /* minor bit rot */
  2205.     ROM_LOAD( "a03-09",       0x1000, 0x1000, 0x48ac912a )
  2206.     ROM_LOAD( "a03-10",       0x2000, 0x1000, 0x00000000 )    /* corrupt! */
  2207.     ROM_LOAD( "a03-11",       0x3000, 0x1000, 0xf06cddd6 )
  2208.     ROM_LOAD( "a03-12",       0x4000, 0x1000, 0x27dfd8c2 )
  2209.  
  2210.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2211.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2212. ROM_END
  2213.  
  2214. ROM_START( bioatack )
  2215.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2216.     ROM_LOAD( "aa8-01.69",    0x0000, 0x1000, 0xe5abc211 )
  2217.     ROM_LOAD( "aa8-02.68",    0x1000, 0x1000, 0xb5bfde00 )
  2218.     ROM_LOAD( "aa8-03.67",    0x2000, 0x1000, 0xe4e46e69 )
  2219.     ROM_LOAD( "aa8-04.66",    0x3000, 0x1000, 0x86e0af8c )
  2220.     ROM_LOAD( "aa8-05.65",    0x4000, 0x1000, 0xc6248608 )
  2221.     ROM_LOAD( "aa8-06.64",    0x5000, 0x1000, 0x685a0383 )
  2222.     ROM_LOAD( "aa8-07.55",    0x6000, 0x1000, 0x9d58e2b7 )
  2223.     ROM_LOAD( "aa8-08.54",    0x7000, 0x1000, 0xdec5271f )
  2224.     /* 10000-11fff space for banked ROMs (not used) */
  2225.  
  2226.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2227.     ROM_LOAD( "aa8-17.70",    0x0000, 0x1000, 0x36eb95b5 )
  2228.  
  2229.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2230.     ROM_LOAD( "aa8-09.1",     0x0000, 0x1000, 0x1fee5fd6 )
  2231.     ROM_LOAD( "aa8-10.2",     0x1000, 0x1000, 0xe0133423 )
  2232.     ROM_LOAD( "aa8-11.3",     0x2000, 0x1000, 0x0f5715c6 )
  2233.     ROM_LOAD( "aa8-12.4",     0x3000, 0x1000, 0x71126dd0 )
  2234.     ROM_LOAD( "aa8-13.5",     0x4000, 0x1000, 0xadcdd2f0 )
  2235.     ROM_LOAD( "aa8-14.6",     0x5000, 0x1000, 0x2fe18680 )
  2236.     ROM_LOAD( "aa8-15.7",     0x6000, 0x1000, 0xff5aad4b )
  2237.     ROM_LOAD( "aa8-16.8",     0x7000, 0x1000, 0xceba4036 )
  2238.  
  2239.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2240.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2241. ROM_END
  2242.  
  2243. ROM_START( sfposeid )
  2244.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2245.     ROM_LOAD( "a14-01.1",     0x00000, 0x2000, 0xaa779fbb )
  2246.     ROM_LOAD( "a14-02.2",     0x02000, 0x2000, 0xecec9dc3 )
  2247.     ROM_LOAD( "a14-03.3",     0x04000, 0x2000, 0x469498c1 )
  2248.     ROM_LOAD( "a14-04.6",     0x06000, 0x2000, 0x1db4bc02 )
  2249.     ROM_LOAD( "a14-05.7",     0x10000, 0x2000, 0x95e2f903 )    /* banked at 6000 */
  2250.  
  2251.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2252.     ROM_LOAD( "a14-10.70",    0x0000, 0x1000, 0xf1365f35 )
  2253.     ROM_LOAD( "a14-11.71",    0x1000, 0x1000, 0x74a12fe2 )
  2254.  
  2255.     ROM_REGION( 0x0800, REGION_CPU3 )    /* 2k for the microcontroller */
  2256.     ROM_LOAD( "a14-12",       0x0000, 0x0800, 0x091beed8 )
  2257.  
  2258.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2259.     ROM_LOAD( "a14-06.4",     0x0000, 0x2000, 0x9740493b )
  2260.     ROM_LOAD( "a14-07.5",     0x2000, 0x2000, 0x1c93de97 )
  2261.     ROM_LOAD( "a14-08.9",     0x4000, 0x2000, 0x4367e65a )
  2262.     ROM_LOAD( "a14-09.10",    0x6000, 0x2000, 0x677cffd5 )
  2263.  
  2264.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2265.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2266. ROM_END
  2267.  
  2268. ROM_START( hwrace )
  2269.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2270.     ROM_LOAD( "hw_race.01",   0x0000, 0x1000, 0x8beec11f )
  2271.     ROM_LOAD( "hw_race.02",   0x1000, 0x1000, 0x72ad099d )
  2272.     ROM_LOAD( "hw_race.03",   0x2000, 0x1000, 0xd0c221d7 )
  2273.     ROM_LOAD( "hw_race.04",   0x3000, 0x1000, 0xeb97015b )
  2274.     ROM_LOAD( "hw_race.05",   0x4000, 0x1000, 0x777c8007 )
  2275.     ROM_LOAD( "hw_race.06",   0x5000, 0x1000, 0x165f46a3 )
  2276.     ROM_LOAD( "hw_race.07",   0x6000, 0x1000, 0x53d7e323 )
  2277.     ROM_LOAD( "hw_race.08",   0x7000, 0x1000, 0xbdbc1208 )
  2278.     /* 10000-11fff space for banked ROMs (not used) */
  2279.  
  2280.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2281.     ROM_LOAD( "hw_race.17",   0x0000, 0x1000, 0xafe24f3e )
  2282.     ROM_LOAD( "hw_race.18",   0x1000, 0x1000, 0xdbec897d )
  2283.  
  2284.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2285.     ROM_LOAD( "hw_race.09",   0x0000, 0x1000, 0x345b9b88 )
  2286.     ROM_LOAD( "hw_race.10",   0x1000, 0x1000, 0x598a3c3e )
  2287.     ROM_LOAD( "hw_race.11",   0x2000, 0x1000, 0x3f436a7d )
  2288.     ROM_LOAD( "hw_race.12",   0x3000, 0x1000, 0x8694b2c6 )
  2289.     ROM_LOAD( "hw_race.13",   0x4000, 0x1000, 0xa0af7711 )
  2290.     ROM_LOAD( "hw_race.14",   0x5000, 0x1000, 0x9be0f556 )
  2291.     ROM_LOAD( "hw_race.15",   0x6000, 0x1000, 0xe1057eb7 )
  2292.     ROM_LOAD( "hw_race.16",   0x7000, 0x1000, 0xf7104668 )
  2293.  
  2294.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2295.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2296. ROM_END
  2297.  
  2298. ROM_START( kikstart )
  2299.     ROM_REGION( 0x12000, REGION_CPU1 )    /* 64k for code */
  2300.     ROM_LOAD( "a20-01",       0x00000, 0x2000, 0x5810be97 )
  2301.     ROM_LOAD( "a20-02",       0x02000, 0x2000, 0x13e9565d )
  2302.     ROM_LOAD( "a20-03",       0x04000, 0x2000, 0x93d7a9e1 )
  2303.     ROM_LOAD( "a20-04",       0x06000, 0x2000, 0x1f23c5d6 )
  2304.     ROM_LOAD( "a20-05",       0x10000, 0x2000, 0x66e100aa )    /* banked at 6000 */
  2305.  
  2306.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the audio CPU */
  2307.     ROM_LOAD( "a20-10",       0x0000, 0x1000, 0xde4352a4 )
  2308.     ROM_LOAD( "a20-11",       0x1000, 0x1000, 0x8db12dd9 )
  2309.     ROM_LOAD( "a20-12",       0x2000, 0x1000, 0xe7eeb933 )
  2310.  
  2311.     ROM_REGION( 0x0800, REGION_CPU3 )    /* 2k for the microcontroller */
  2312.     ROM_LOAD( "a20-13",       0x0000, 0x0800, 0x11e23c5c )
  2313.  
  2314.     ROM_REGION( 0x8000, REGION_GFX1 )    /* graphic ROMs used at runtime */
  2315.     ROM_LOAD( "a20-06",       0x0000, 0x2000, 0x6582fc89 )
  2316.     ROM_LOAD( "a20-07",       0x2000, 0x2000, 0x8c0b76d2 )
  2317.     ROM_LOAD( "a20-08",       0x4000, 0x2000, 0x0cca7a9d )
  2318.     ROM_LOAD( "a20-09",       0x6000, 0x2000, 0xda625ccf )
  2319.  
  2320.     ROM_REGION( 0x0100, REGION_PROMS )    /* layer PROM */
  2321.     ROM_LOAD( "eb16.22",      0x0000, 0x0100, 0xb833b5ea )
  2322. ROM_END
  2323.  
  2324.  
  2325.  
  2326. static void init_alpine(void)
  2327. {
  2328.     /* install protection handlers */
  2329.     install_mem_read_handler (0, 0xd40b, 0xd40b, alpine_port_2_r);
  2330.     install_mem_write_handler(0, 0xd50f, 0xd50f, alpine_protection_w);
  2331. }
  2332.  
  2333. static void init_alpinea(void)
  2334. {
  2335.     /* install protection handlers */
  2336.     install_mem_read_handler (0, 0xd40b, 0xd40b, alpine_port_2_r);
  2337.     install_mem_write_handler(0, 0xd50e, 0xd50e, alpinea_bankswitch_w);
  2338. }
  2339.  
  2340.  
  2341.  
  2342. GAME( 1981, spaceskr, 0,        nomcu, spaceskr,   0,       ROT180, "Taito Corporation", "Space Seeker" )
  2343. GAME( 1982, junglek,  0,        nomcu, junglek,    0,       ROT0,   "Taito Corporation", "Jungle King (Japan)" )
  2344. GAME( 1982, junglkj2, junglek,  nomcu, junglek,    0,       ROT0,   "Taito Corporation", "Jungle King (Japan, earlier)" )
  2345. GAME( 1982, jungleh,  junglek,  nomcu, junglek,    0,       ROT0,   "Taito America Corporation", "Jungle Hunt (US)" )
  2346. GAME( 1982, alpine,   0,        nomcu, alpine,     alpine,  ROT270, "Taito Corporation", "Alpine Ski (set 1)" )
  2347. GAME( 1982, alpinea,  alpine,   nomcu, alpinea,    alpinea, ROT270, "Taito Corporation", "Alpine Ski (set 2)" )
  2348. GAME( 1982, timetunl, 0,        nomcu, timetunl,   0,       ROT0,   "Taito Corporation", "Time Tunnel" )
  2349. GAME( 1982, wwestern, 0,        nomcu, wwestern,   0,       ROT270, "Taito Corporation", "Wild Western (set 1)" )
  2350. GAME( 1982, wwester1, wwestern, nomcu, wwestern,   0,       ROT270, "Taito Corporation", "Wild Western (set 2)" )
  2351. GAME( 1982, frontlin, 0,        mcu,   frontlin,   0,       ROT270, "Taito Corporation", "Front Line" )
  2352. GAME( 1983, elevator, 0,        mcu,   elevator,   0,       ROT0,   "Taito Corporation", "Elevator Action" )
  2353. GAME( 1983, elevatob, elevator, nomcu, elevator,   0,       ROT0,   "bootleg", "Elevator Action (bootleg)" )
  2354. GAME( 1983, tinstar,  0,        mcu,   tinstar,    0,       ROT0,   "Taito Corporation", "The Tin Star" )
  2355. GAME( 1983, waterski, 0,        nomcu, waterski,   0,       ROT270, "Taito Corporation", "Water Ski" )
  2356. GAME( 1983, bioatack, 0,        nomcu, bioatack,   0,       ROT270, "Taito Corporation (Fox Video Games license)", "Bio Attack" )
  2357. GAME( 1984, sfposeid, 0,        mcu,   sfposeid,   0,       ROT0,   "Taito Corporation", "Sea Fighter Poseidon" )
  2358. GAME( 1983, hwrace,   0,        nomcu, hwrace,     0,       ROT270, "Taito Corporation", "High Way Race" )
  2359. GAMEX(1984, kikstart, 0,        mcu,   junglek,    0,       ROT0,   "Taito Corporation", "Kick Start Wheelie King", GAME_NOT_WORKING )
  2360.